home *** CD-ROM | disk | FTP | other *** search
- /* EffectSpecList.h */
-
- #ifndef Included_EffectSpecList_h
- #define Included_EffectSpecList_h
-
- /* EffectSpecList module depends on */
- /* MiscInfo.h */
- /* Audit */
- /* Debug */
- /* Definitions */
- /* Memory */
- /* Array */
- /* DelayEffectSpec */
- /* NonlinearProcSpec */
- /* FilterSpec */
- /* AnalyzerSpec */
-
- struct EffectSpecListRec;
- typedef struct EffectSpecListRec EffectSpecListRec;
-
- /* forwards */
- struct DelayEffectRec;
- struct NonlinProcSpecRec;
- struct FilterSpecRec;
- struct AnalyzerSpecRec;
-
- /* effect types */
- typedef enum
- {
- eDelayEffect EXECUTE(= 12431),
- eNLProcEffect,
- eFilterEffect,
- eAnalyzerEffect
- } EffectTypes;
-
- /* create a new effect list */
- EffectSpecListRec* NewEffectSpecList(void);
-
- /* dispose of an effect list */
- void DisposeEffectSpecList(EffectSpecListRec* EffectSpecList);
-
- /* add a delay effect to the spec list */
- MyBoolean AddDelayToEffectSpecList(EffectSpecListRec* EffectSpecList,
- struct DelayEffectRec* DelaySpec);
-
- /* add a nonlinear processor to the spec list */
- MyBoolean AddNLProcToEffectSpecList(EffectSpecListRec* EffectSpecList,
- struct NonlinProcSpecRec* NLProcSpec);
-
- /* add a parallel filter array to the spec list */
- MyBoolean AddFilterToEffectSpecList(EffectSpecListRec* EffectSpecList,
- struct FilterSpecRec* FilterSpec);
-
- /* add an analyzer to the spec list */
- MyBoolean AddAnalyzerToEffectSpecList(EffectSpecListRec* EffectSpecList,
- struct AnalyzerSpecRec* AnalyzerSpec);
-
- /* find out how many effects are in the list */
- long GetEffectSpecListLength(EffectSpecListRec* EffectSpecList);
-
- /* get the type of the specified effect */
- EffectTypes GetEffectSpecListElementType(EffectSpecListRec* EffectSpecList,
- long Index);
-
- /* get the delay effect at the specified index */
- struct DelayEffectRec* GetDelayEffectFromEffectSpecList(
- EffectSpecListRec* EffectSpecList, long Index);
-
- /* get the nonlinear processor from the specified index */
- struct NonlinProcSpecRec* GetNLProcEffectFromEffectSpecList(
- EffectSpecListRec* EffectSpecList, long Index);
-
- /* get the filter from the specified index */
- struct FilterSpecRec* GetFilterEffectFromEffectSpecList(
- EffectSpecListRec* EffectSpecList, long Index);
-
- /* get the analyzer from the specified index */
- struct AnalyzerSpecRec* GetAnalyzerEffectFromEffectSpecList(
- EffectSpecListRec* EffectSpecList, long Index);
-
- #endif
-